
use crate::metadata::ir::*;
pub(crate) static REGISTERS: IR = IR {
    blocks: &[Block {
        name: "Dbgmcu",
        extends: None,
        description: Some("Debug support"),
        items: &[
            BlockItem {
                name: "idcode",
                description: Some("MCU Device ID Code Register"),
                array: None,
                byte_offset: 0x0,
                inner: BlockItemInner::Register(Register {
                    access: Access::Read,
                    bit_size: 32,
                    fieldset: Some("Idcode"),
                }),
            },
            BlockItem {
                name: "cr",
                description: Some("Debug MCU Configuration Register"),
                array: None,
                byte_offset: 0x4,
                inner: BlockItemInner::Register(Register {
                    access: Access::ReadWrite,
                    bit_size: 32,
                    fieldset: Some("Cr"),
                }),
            },
            BlockItem {
                name: "apb1_fz",
                description: Some("Debug MCU APB1 freeze register"),
                array: None,
                byte_offset: 0x8,
                inner: BlockItemInner::Register(Register {
                    access: Access::ReadWrite,
                    bit_size: 32,
                    fieldset: Some("Apb1Fz"),
                }),
            },
            BlockItem {
                name: "apb2_fz",
                description: Some("Debug MCU APB2 freeze register"),
                array: None,
                byte_offset: 0xc,
                inner: BlockItemInner::Register(Register {
                    access: Access::ReadWrite,
                    bit_size: 32,
                    fieldset: Some("Apb2Fz"),
                }),
            },
        ],
    }],
    fieldsets: &[
        FieldSet {
            name: "Apb1Fz",
            extends: None,
            description: Some("Debug MCU APB1 freeze register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "tim2",
                    description: Some("TIM2 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim3",
                    description: Some("TIM3 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim6",
                    description: Some("TIM6 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 4 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim7",
                    description: Some("TIM7 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 5 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim14",
                    description: Some("TIM14 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 8 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rtc",
                    description: Some("Debug RTC stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 10 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "wwdg",
                    description: Some("Debug window watchdog stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 11 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "iwdg",
                    description: Some("Debug independent watchdog stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 12 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "dbg_i2c1_smbus_timeout",
                    description: Some("SMBUS timeout mode stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 21 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "can",
                    description: Some("CAN stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 25 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Apb2Fz",
            extends: None,
            description: Some("Debug MCU APB2 freeze register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "tim1",
                    description: Some("TIM1 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 11 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim15",
                    description: Some("TIM15 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim16",
                    description: Some("TIM16 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 17 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "tim17",
                    description: Some("TIM17 counter stopped when core is halted"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 18 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Cr",
            extends: None,
            description: Some("Debug MCU Configuration Register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "dbg_stop",
                    description: Some("Debug Stop Mode"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 1 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "dbg_standby",
                    description: Some("Debug Standby Mode"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 2 }),
                    bit_size: 1,
                    array: None,
                    enumm: None,
                },
            ],
        },
        FieldSet {
            name: "Idcode",
            extends: None,
            description: Some("MCU Device ID Code Register"),
            bit_size: 32,
            fields: &[
                Field {
                    name: "dev_id",
                    description: Some("Device Identifier"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 0 }),
                    bit_size: 12,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "div_id",
                    description: Some("Division Identifier"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 12 }),
                    bit_size: 4,
                    array: None,
                    enumm: None,
                },
                Field {
                    name: "rev_id",
                    description: Some("Revision Identifier"),
                    bit_offset: BitOffset::Regular(RegularBitOffset { offset: 16 }),
                    bit_size: 16,
                    array: None,
                    enumm: None,
                },
            ],
        },
    ],
    enums: &[],
};
